共计 783 个字符,预计需要花费 2 分钟才能阅读完成。
前言
今天在日常敲代码中,给 SpringBoot 自定义错误页,但是本来一件简单的事情却变得复杂起来了,页面总是空白的而且没有输出,后面新建了一个项目,但是在新项目中一切都是 OK 的,于是我进行一步步的对比调试,最终确定了是 Shiro 的 FreeMarker Tag 出的错导致页面渲染终止。
解决办法
在 shiro 的配置文件中添加如下的配置 bean:
@Bean
public MethodInvokingFactoryBean methodInvokingFactoryBean(SecurityManager securityManager){MethodInvokingFactoryBean bean = new MethodInvokingFactoryBean();
bean.setStaticMethod("org.apache.shiro.SecurityUtils.setSecurityManager");
bean.setArguments(securityManager);
return bean;
}
要注意的是在这之前你要有配置
SecurityManager
的 bean,其上述代码的作用就当于调用 SecurityUtils.setSecurityManager(securityManager)然后完成上述步骤之后,就可以愉快的使用 shiro tag 了,比如:
<@shiro.user>
<a class="item dis-in" href="/account/home.html"> 欢迎您,<@shiro.principal/></a>
</@shiro.user>
<@shiro.guest>
<a class="item dis-in" href="/account/sign-in.html"> 登录 / 注册 </a>
</@shiro.guest>
共计2人点赞,其中1人来自小程序
正文完
使用官方微信小程序体验更多功能